package cn.tedu.oop;
/**用于测试代码块*/
public class TestBlock {

    public static void main(String[] args) {
        //System.out.println(666);
        Pig p1=new Pig();
        Pig p2=new Pig("中午好");
        Pig p3=new Pig("水果",5);
        p1.eat();
    }
}
class Pig{
    String food;
    int age;

    {
        /**构造代码块
         * 1.位置:类里方法外
         * 2.执行时机:每次创建对象时,优先于构造方法执行
         * 3.作用:用于提取所以代码块的共性功能*/
        System.out.println("我是一个构造代码块");
    }
    public Pig(){
        System.out.println("无参构造");
    }
    public Pig(String s){
        System.out.println("含参构造"+s);
    }
    public Pig(String food, int age) {
        this.food = food;
        this.age = age;
        System.out.println("全参构造");
    }
    public void eat(){
        System.out.println("小猪爱吃菜叶子");
        {
            /**局部代码块
             * 1.位置:方法外
             * 2.执行时机:调用局部代码块所在的方法时执行
             * 3.作用:控制变量的作用范围,变量的作用范围越少越好*/
            System.out.println("我是局部代码块");
        }
    }
}